The present invention relates generally to communication systems and, more particularly, to a task scheduler responsive to connectivity prerequisites.
Network communication has evolved significantly in recent years to provide users with varied choices for accessing private networks, such as business or institutional networks, or public networks, such as the Internet. In general, each communication scheme involves a mobile device that connects with some sort of remote interface for accessing the larger network. For example, a user may employ a hard-wired or wireless communication scheme to establish a network connection. Exemplary hard-wired connection schemes include an Ethernet connection to a network router, hub, or switch, cable modem, digital subscriber line (DSL) modem, a dial-up modem connection, etc. Exemplary wireless connection schemes include a wireless local area network (WLAN) connection, a wireless wide area network (WWAN) connection, and a wireless personal area network (WPAN) connection. Further, these communication schemes may be mixed. For example, a user may connect through a WLAN or WPAN in a home environment to another device that that is in turn connected through a hard-wired connection, such as a cable modem, or a wireless connection to the Internet.
The wide variety of connection options provides the user with flexibility and the ability to connect to a network in virtually any location. In locations where the user can not establish an Ethernet connection or a WLAN connection, a WWAN (i.e., over a cellular network) may be established. However, this flexibility comes at a cost. The user must configure and manage each communication service. Separate account user IDs or passwords are typically required for each communication scheme. Also, the configuration is location specific. Different parameters may be specified depending on whether the connection is associated with a home, office, or public environment. Public environments may be trusted or untrusted.
A typical configuration wizard or install script implements a complex and time-consuming procedure that asks a user various questions regarding the connection. The user may not have all the answers to the questions at a given time. Moreover, because the configuration options may be location dependent, the user may not have access to the requested information or that facilities may not be available to test the connection settings. Due to these limitations, a user may have to execute the configuration procedure multiple times and in multiple locations, greatly increasing the required configuration time and adding to user confusion and dissatisfaction. Additionally, if one or more of the connections is not functioning properly, it is difficult for the user to identify the appropriate technical support contact. For instance, the technical support contact for the supplier of the mobile device may be unable to help the user diagnose and correct connection problems.
Typically, one or more of the communication schemes may be available to the mobile device at any given time. Rather than requiring a user to manually select a particular communication scheme, various tools have been developed to attempt to autonomously manage the scheme selection process. Such communication management tools typically employ various explicit rules or heuristics for making the connection choice. For example, the connection having the highest bandwidth or highest signal strength may be selected. In cases where a hard-wired connection, such as Ethernet is available, it may be selected by default.
Such connection rules may not always ensure that a connection is always available. For example, if the selected connection requires the collection of login or password information from the user, the establishment of the connection could be delayed.
Also, the bandwidth available for each scheme may vary as well as the cost of using each scheme. The bandwidth variations may impact the performance of applications executed by the user on the remote device. For example, some applications require large amounts of bandwidth to operate efficiently. If such an application is running during a period of time where a small bandwidth connection is active, the application performance may suffer and may also result in the degraded operation of other concurrent applications. In cases where the connection involves a usage-based fee schedule, operation of bandwidth intensive applications may significantly affect the user's service bill.
Some applications may be classified as background applications, which typically operate without direct interaction from the user. Background applications may be less impacted by increased latency. However, applications that require user interaction may be negatively impacted by data transfer delays. If a user is exchanging information with a remote party, additional delays may reduce the user's efficiency. Still other applications are highly intolerant of increased latency. For example, applications with transfer video or audio in real-time cannot tolerate latency. Missed packets may not be retransferred, and video or audio quality is irrecoverably lost. For example, in the case where a user is talking to a remote party using a voice-over-IP (VOIP) session, increased latency could prevent the parties from hearing each other or could result in the session being dropped.
Certain applications depend on connectivity of certain speeds to operate efficiently. However, since connectivity is managed automatically, the user does not know when to run such applications that depend on the connectivity. Also, automatic-timed scheduling is not practical, since the connectivity might not be available at the scheduled time. Conventional schedulers only block applications if the mobile device is operating on battery power.
Another issue related to using different connections is the power consumption associated with each connection type. While a particular connection may have a desirably high bandwidth, the connection modality may require significant processing power from the mobile device, thereby greatly shortening battery life. Also, an application requiring significant data transfer may consume considerable amounts of processing resources due to the load it places on the connection, also resulting in reduced battery life.
This section of this document is intended to introduce various aspects of art that may be related to various aspects of the present invention described and/or claimed below. This section provides background information to facilitate a better understanding of the various aspects of the present invention. It should be understood that the statements in this section of this document are to be read in this light, and not as admissions of prior art. The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.